package cn.lili.modules.promotion.fallback;

import cn.lili.common.exception.ServiceException;
import cn.lili.modules.goods.entity.dto.GoodsSkuDTO;
import cn.lili.modules.promotion.client.PromotionsClient;
import cn.lili.modules.promotion.entity.dos.Coupon;
import cn.lili.modules.promotion.entity.dos.FullDiscount;
import cn.lili.modules.promotion.entity.dos.MemberCoupon;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dto.search.KanjiaActivitySearchParams;
import cn.lili.modules.promotion.entity.dto.search.MemberCouponSearchParams;
import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.entity.vos.PintuanMemberVO;
import cn.lili.modules.promotion.entity.vos.PintuanVO;
import cn.lili.modules.promotion.entity.vos.PointsGoodsVO;
import cn.lili.modules.promotion.entity.vos.RedPackGoodsVO;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityVO;

import java.util.List;
import java.util.Map;

/**
 * @author: ftyy
 * @date: 2022-01-17 11:14
 * @description: 促销Fallback
 */
public class PromotionsFallback implements PromotionsClient {
    @Override
    public List<MemberCoupon> getMemberCoupons(MemberCouponSearchParams param) {
        throw new ServiceException();
    }

    @Override
    public List<MemberCoupon> getMemberCoupons(String memberId) {
        throw new ServiceException();
    }

    @Override
    public FullDiscount getFullDiscount(String id) {
        throw new ServiceException();
    }

    @Override
    public List<MemberCoupon> getAllScopeMemberCoupon(String memberId, List<String> storeId) {
        throw new ServiceException();
    }

    @Override
    public MemberCoupon getMemberCoupon(MemberCouponSearchParams param) {
        throw new ServiceException();
    }

    @Override
    public PointsGoodsVO getPointsGoodsDetailBySkuId(String skuId) {
        throw new ServiceException();
    }

    @Override
    public PintuanVO getPintuanVO(String id) {
        throw new ServiceException();
    }

    @Override
    public KanjiaActivityVO getKanjiaActivityVO(KanjiaActivitySearchParams kanjiaActivitySearchParams) {
        throw new ServiceException();
    }

    @Override
    public List<MemberCoupon> getCurrentGoodsCanUse(String memberId, List<String> couponIds, Double totalPrice) {
        throw new ServiceException();
    }

    @Override
    public List<PromotionGoods> listFindAll(PromotionGoodsSearchParams searchParams) {
        throw new ServiceException();
    }

    @Override
    public PromotionGoods getPromotionsGoods(PromotionGoodsSearchParams searchParams) {
        throw new ServiceException();
    }

    @Override
    public Map<String, Object> getGoodsSkuPromotionMap(String storeId, String goodsSkuId) {
        throw new ServiceException();
    }

    /**
     * 使用优惠券
     *
     * @param couponId 优惠券id
     * @param usedNum  使用数量
     */
    @Override
    public void usedCoupon(String couponId, Integer usedNum) {
        throw new ServiceException();
    }

    @Override
    public void removeByGoodsIds(String goodsIdsJsonStr) {
        throw new ServiceException();
    }

    @Override
    public List<PromotionGoods> findSkuValidPromotions(List<GoodsSkuDTO> skus) {
        throw new ServiceException();
    }

    @Override
    public Map<String, Object> wrapperPromotionMapList(List<PromotionGoods> promotionGoodsList) {
        throw new ServiceException();
    }

    @Override
    public Coupon getCouponById(String id) {
        throw new ServiceException();
    }

    public List<PintuanMemberVO> getPintuanMember(String pintuanId, String skuId) {
        throw new ServiceException("");
    }
}
